<?php
namespace zake\foundation\able\stream;

/**
 * Interface CloseAble
 * @package zaka\foundation\able
 */
interface ResourceAble
{


    /**
     * 获取fd
     * @return int
     *
     * @author liu.bin 2020-04-01 00:05
     */
    public function getFd();


    /**
     * 获取资源
     * @return resource
     *
     * @author liu.bin 2020-03-31 23:51
     */
    public function getResource();


    /**
     * 关闭
     * @return mixed
     *
     * @author liu.bin 2020-04-26 16:11
     */
    public function close($callBack=null);


    /**
     * 关闭资源
     *
     * @return bool
     * @author liu.bin 2020-03-31 17:03
     */
    public function closeResource();


    /**
     * 资源是否被关闭
     * 一般为连接方关闭
     *
     * @return bool
     *
     * @author liu.bin 2020-04-25 18:49
     */
    public function isCloseResource();

}